package com.partsoft.dits;

/**
 * 数据接收器
 */
public interface DataMessageReceiver extends DataIntegrateProcessor {
	
	/**
	 * 是否支持某数据描述符
	 * @param descriptorClazz 类型
	 * @return 返回true表示此处理器支持此数据描述符处理。
	 */
	boolean supportData(Class<? extends DataEdgeDescriptor> descriptorClazz);
	
	/**
	 * 是否支持某数据描述符
	 * @param dataDescriptor 描述
	 * @return 返回true表示此处理支持。
	 */
	boolean supportData(DataEdgeDescriptor dataDescriptor);
	
	/**
	 * 处理任务
	 * @param batch 参见{@link DataIntegrateBatch}。
	 */
	void process(DataIntegrateBatch batch);
	
	/**
	 * 处理传入的消息。
	 * @param msgbyte 消息字节数组
	 */
	void receiveData(DataEdgeDescriptor dataDescriptor, byte[] databytes);
	
}
